package com.tyt.travel.service;

import com.tyt.travel.dto.AddEvaluationDTO;
import com.tyt.travel.dto.scenery.CreateOrUpdateSceneryDTO;
import com.tyt.travel.model.EvaluateEntity;
import com.tyt.travel.model.SceneryEntity;
import com.tyt.travel.vo.SearchSceneryVO;

import java.util.List;

/**
 * <p></p>
 * <p>
 * <PRE>
 * <BR>    修改记录
 * <BR>-----------------------------------------------
 * <BR>    修改日期         修改人          修改内容
 * </PRE>
 *
 * @author tianyun
 * @version 1.0
 * @date Created in 2021年02月10日 20:39
 * @since 1.0
 */
public interface SceneryService {

    /**
     * 模糊查询景点
     * @param name
     * @return
     */
    List<SearchSceneryVO> searchScenery(String name);

    /**
     * 添加景点
     * @param validator
     */
    void addScenery(CreateOrUpdateSceneryDTO validator);

    /**
     * 景点详情
     * @return
     */
    SceneryEntity sceneryDetail(Integer sceneryId);

    /**
     * 景点评价
     * @param dto
     */
    void addEvaluation(AddEvaluationDTO dto);

    /**
     * 景点评价列表
     * @param sceneryId
     * @return
     */
    List<EvaluateEntity> sceneryEvaluationList(Integer sceneryId);

    /**
     * 景点点击计数
     * @param sceneryId
     * @return
     */
    void sceneryCount(Integer sceneryId);

    /**
     * 根据id获取景区
     * @param id
     * @return
     */
    SceneryEntity getById(Integer id);

    /**
     * 删除景区
     * @param id
     */
    void deleteById(Integer id);

    /**
     * 更新景区
     */
    void updateScenery(SceneryEntity entity, CreateOrUpdateSceneryDTO validator);
}
